package com.kstudio.videocapture.util.bmpcache;


public class KLoadBitmapWithCache {
//    private final KLog log = new KLog("KAsyncLoadBitmap");
//
//    private static final int THREAD_STATE_READY         = 0x0001;
//    private static final int THREAD_STATE_RUNNING       = 0x0002;
//
//    private KAsyncLoadBitmapListener       mListener;
//
//    private ArrayList<LoadBitmapItem> mLoadPrio;
//    private ArrayList<LoadBitmapItem> mLoadLate;
//
//    private AsyncTask  mAsyncTask;
//    private int        mAsyncState;
//
//    public interface KAsyncLoadBitmapListener {
//        void onDrawUpdate();
//        void onInitDone();
//    }
//
//    private class LoadBitmapItem {
//        int index;
//        int path;
//
//        int width;
//        int height;
//
//        Bitmap bm;
//    }
//
//    public KLoadBitmap(KAsyncLoadBitmapListener l) {
//        mListener = l;
//
//        mLoadPrio = new ArrayList<LoadBitmapItem>();
//        mLoadLate = new ArrayList<LoadBitmapItem>();
//    }
//
//    /* Public Function */
//    public void addLate(int index, String path, int width, int height) {
//
//
//        if(mAsyncState == THREAD_STATE_READY) {
//            mAsyncState = THREAD_STATE_RUNNING;
//            mAsyncTask = new AsyncTask();
//            mAsyncTask.start();
//        }
//    }
//
//    public void stop() {
//        if(mAsyncState == THREAD_STATE_RUNNING) {
//            mAsyncTask.stopThread();
//            mAsyncState = THREAD_STATE_READY;
//        }
//    }
//
//    /* Private Function */
//    private class AsyncTask extends Thread {
//        public boolean running;
//
//        @Override
//        public void run() {
//            running = true;
//
//            while(running) {
//                KImageEditItem item = null;
//
//                if(mInitState == INIT) {
////                    Thread_Init();
//                    Thread_Init_temp();
//                } else if(mInitState == INIT_OUTSIDE_ING) {
//                    mInitState = INIT_DONE;
//                } else if(mInitState == INIT_DONE) {
//                    mListener.onInitDone();
//                    running = false;
//                } else if(mLoadingDirect == LOADING_DIRECTION_LEFT) {
//                    if(mLoadingLeft.size() > 0) {
//                        item = mListData.get(mLoadingLeft.poll());
//                    } else if(mLoadingRight.size() > 0) {
//
//                    } else {
//                        break;
//                    }
//                } else if(mLoadingDirect == LOADING_DIRECTION_RIGHT) {
//                    if(mLoadingLeft.size() > 0) {
//                        mLoadingLeft.poll();
//                    } else if(mLoadingRight.size() > 0) {
//
//                    } else {
//                        break;
//                    }
//                }
//
//                if(item != null) {
//
//                }
//            }
//
//            mAsyncState = THREAD_STATE_READY;
//        }
//
//        public void stopThread() {
//            running = false;
//        }
//    }
//
//    private void Thread_Init() {
//        mListPos_LoadLeft = -1;
//        mListPos_LoadRight = -1;
//
//        boolean existFirst = true;
//
//        for(int i = 0; i < mListDataSize; i++) {
//            KImageEditItem item = mListData.get(i);
//
//            if(item.getBitmap() != null) {
//                if(existFirst) {
//                    if(i < mOutSideLeft) {
//                        item.setBitmap(null);
//                    } else {
//                        mListPos_LoadLeft = i;
//                        existFirst = false;
//                    }
//                } else {
//                    if(i > mOutSideRight) {
//                        item.setBitmap(null);
//                    } else {
//                        mListPos_LoadRight = i;
//                    }
//                }
//
//                Bitmap bm = item.getBitmap();
//                if(bm != null && bm.getWidth() != mBmWidth && bm.getHeight() != mBmHeight) {
//                    Bitmap result = KUtil.bitmapResizedFit(bm, mBmWidth, mBmHeight);
//                    item.setBitmap(result);
//                    if(mListener != null) mListener.onDrawUpdate();
//                }
//            } else if(i >= mInSideLeft && i < mInSideRight) {
//                if(existFirst) {
//                    mListPos_LoadLeft = i;
//                    existFirst = false;
//                } else {
//                    mListPos_LoadRight = i;
//                }
//                Bitmap bm = KUtil.bitmapLoadResizedFast(item.getPath(), mBmWidth, mBmHeight);
//                item.setBitmap(bm);
//                if(mListener != null) mListener.onDrawUpdate();
//            }
//        }
//
//        mInitState = INIT_OUTSIDE_ING;
//    }
//
//    private void Thread_Init_temp() {
//        for(int i = 0; i < mListDataSize; i++) {
//            KImageEditItem item = mListData.get(i);
//
//            if(item.getBitmap() != null) {
//                Bitmap bm = item.getBitmap();
//                if(bm != null && bm.getWidth() != mBmWidth && bm.getHeight() != mBmHeight) {
//                    Bitmap result = KUtil.bitmapResizedFit(bm, mBmWidth, mBmHeight);
//                    item.setBitmap(result);
//                    if(mListener != null) mListener.onDrawUpdate();
//                }
//            } else {
//                Bitmap bm = KUtil.bitmapLoadResizedFast(item.getPath(), mBmWidth, mBmHeight);
//                item.setBitmap(bm);
//                if(mListener != null) mListener.onDrawUpdate();
//            }
//        }
//
//        mInitState = INIT_OUTSIDE_ING;
//    }
}
